OBJS = Main.o Graph.o Heap.o PriorityQueue.o Sorter.o UnorderedArray.o Set.o
CC = g++
DEBUG = -gstabs
CFLAGS = -Wall -c $(DEBUG)
LFLAGS = -Wall $(DEBUG)

all : $(OBJS)
	rm -f ass1
	$(CC) $(LFLAGS) $(OBJS) -o ass1

Main.o : Main.cpp
	$(CC) $(LFLAGS) Main.cpp -c
	
Graph.o : Graph.cpp Graph.h 
	$(CC) $(LFLAGS) Graph.cpp -c

Heap.o : Heap.cpp Heap.h Graph.h
	$(CC) $(LFLAGS) Heap.cpp -c

PriorityQueue.o : PriorityQueue.cpp PriorityQueue.h Graph.h
	$(CC) $(LFLAGS) PriorityQueue.cpp -c

Sorter.o : Sorter.cpp Sorter.h Graph.h
	$(CC) $(LFLAGS) Sorter.cpp -c

UnorderedArray.o : UnorderedArray.cpp UnorderedArray.h Graph.h
	$(CC) $(LFLAGS) UnorderedArray.cpp -c

Set.o : Set.cpp Set.h
	$(CC) $(LFLAGS) Set.cpp -c

clean:
	rm -f *.o ass1
